The MFM (Multi-Frequency Modulation) recording method is employed as a current standard recording method for floppy disks used by computers. FIG. 1 is a diagram for explaining the MFM recording method. As for a floppy disk on which data are stored using the MFM recording method, when a bit "1" is stored in the floppy disk, one pulse (one data pulse) occurs as data read from the floppy disk. While when a bit "0" is stored in it, no pulse occurs as data read from it. However, when the sequentially arranged adjacent bits have a value "0" respectively, a pulse (a clock pulse) occurs at a position midway between the adjacent bits.
In order to read data from a floppy disk on which data are recorded using the MFM recording method, pulses in read data must be precisely separated into data pulses and clock pulses because values to be reproduced differ depending on whether specific pulses are data pulses or clock pulses. A data window is employed to separate the data pulses and the clock pulses from the read data. Basically, this window contains clock pulses having a constant interval. When the data window signal is at a high level and a peak occurs while data are being read, the peak is regarded as a data pulse and a data value of "1" is detected. When the data window signal is at a low level and a peak occurs while data are being read, the peak is regarded as a clock pulse, for both a data value preceding and a data value following the peak a data value of "0" is detected.
When only one pulse is written on a floppy disk, a waveform for an output signal obtained from the disk is an independent waveform, and the pulse position matches the peak portion of the independent waveform. When a plurality of pulses are written on the floppy disk, however, independent waveforms of respective pulses interfere with each other to form a synthetic waveform. As a result, some of the peak portions of the synthetic waveform are shifted from the peak positions (the pulse positions) of the original independent waveforms. The phenomenon wherein the peak position in a waveform is shifted from the original pulse position is called a peak shift.
FIG. 2 is a diagram for explaining a peak shift. In FIG. 2(a) is shown an output waveform when one pulse is written. As is shown in FIG. 2(a), the pulse position matches the peak position of an independent waveform, and no peak shift occurs. In FIG. 2(b) is shown a peak shift for a synthetic waveform. In FIG. 2(b), a waveform indicated by the broken line is an ideal output waveform when pulses are respectively read, and a waveform indicated by the solid line is an actual output waveform. A plurality of independent waveforms interfere with each other, and a peak shift occurs between the peak portion of the actual waveform and that of the ideal waveform.
This phenomenon constitutes a large problem for a magnetic recording medium. It is assumed that a specific peak is shifted because it is magnetically affected by adjacent peaks.
An accurate data window is required for a floppy disk controller to precisely separate read data into data pulses and clock pulses, and to reproduce information at a low data error rate. The separation of the read data is performed by a data separator circuit.
A data window is generated based on read data from the floppy disk. FIG. 3 is a block circuit diagram illustrating the structure of a data separator. The data separator comprises a data window generator 30 and a separation circuit 31. The data window generator 30 includes a phase detector 32, a filter/amplifier 33, and an oscillator 34. As data is read, it is input to the phase detector 32, and the output of the phase detector 32 is transmitted to the oscillator 34 via the filter/amplifier 33. The output of the oscillator 34 is transmitted as a data window signal to the separation circuit 31. At the same time, this signal is fed back to the phase detector 32. Based on the phase of the data window signal, the separation circuit 31 separates the read data into data pulses and clock pulses. The data window is adjusted to obtain the optimal state in accordance with the follow-up speed of a feedback loop, and an amplifier gain is set to the optimal state by an external controller. In this manner, the data separator generates a data window signal, and controls the synchronization of the read data and the data window. In other words, the feedback loop is employed to control the center of the data window so that it is always positioned at the center of the pulse.
Some formats for magnetic disks include a sync area at the head of an ID field and the head of a data area, as well as an "IBM" format for a floppy disk. The sync area has a data structure in which a continuous line of bits having a value of "0" are arranged. Therefore, the pulses in the field form a pulse series consisting only of clock pulses that are arranged at the same intervals. In this case, since preceding and succeeding pulses interfere equally with a specific pulse, no peak shift occurs for such a pulse. When the data reading is locked (synchronized) with this pulse series in the sync area, a quick lock-in is enabled and an accurate data window can be obtained.
In one conventional example, once synchronization is acquired by using the sync area when the data are read from a disk, the data window is merely set to follow only changes in the rotation rate of the disk. Since this method employs only the sync area to control the phase of the data window, and ignores the data area, it is difficult to provide delicate control following a change in the rotation rate of the disk.
As another conventional method, compensation for pulse writing is performed, and a data area is used to obtain synchronization with the compensation process. Based on the relationship of adjacent bits to be written in the data area, the portion where it is anticipated a peak shift will occur is written while being shifted in advance in a direction opposite to the peak shift direction. According to this method, since not only a pulse in the sync area but also a pulse in the data area are employed, more delicate control is possible relative to the change in rotation of a disk, as well as, the deformation of the disk. However, the peak shift writing compensation may cause a new peak shift at another pulse. Thus, when the pulse with which a peak shift occurs is used for the control of the phase of the data window, it is difficult to generate an accurate data window.